BOM 概览

BOM 的简单介绍,也涉及到 DOM

作者 Haojen Ma 日期 2015-12-10
BOM 概览

window 对象

Javascript 的全局作用域 global

location 对象

浏览器的 URL , 前进后退

navigator 对象

浏览器的版本信息,获取用户的平台, 配置等信息

history 对象

浏览器的历史记录

screen 对象

用户的显示器信息

DOM

需要了解的概念是 DOM 范围

事件

JS 与 HTML 之间的交互是通过事件实现的。事件,就是文档或者浏览器窗口中发生的一些动态或特定的交互瞬间。可以使用侦听器或者说是处理程序来预备处理事件,以便事件发生时执行相应的代码,这种模式在软件工程中被称为观察员模式的模型,支持页面的行为 (JS 代码)与页面的外观之间的松散耦合

事件流

IE 的是事件冒泡流,既事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接受, 然后逐级向上传播到较为不具体的节点(文档) 网景的是事件捕获流,事件捕获的思想是不太具体的节点应该更早的接收到事件, 而最具体的节点应该最后接收到事件。 事件捕获的用意在于时间到预定目标之前捕获他。 DOM 0 级 和 DOM2 级 事件的区别在于:前者每个事件只支持一个事件处理程序。而后者可以按照先后顺序执行多个

事件类型

UI 事件:当用户与页面中的元素交互时触发

  1. load 事件:当页面完全加载后在 window 上面触发, 当所有的框架都加在完毕时在框架集上面触发, 当图像加载完毕时在 img 元素上触发
  2. unload : 当页面完全卸载后在 window 上面触发, 当所有框架.. 同上。
  3. resize : 当窗口或框架的大小变化时在 window 或框架上面触发
  4. scroll : 当用户滚动带滚动条的元素中的内容时, 在该元素上面触发。 body 元素中包含所加载页面的滚动条

焦点事件: 当元素获得或者失去焦点时触发 鼠标事件: 当用户使用鼠标在页面上操作时触发

  1. 除了 mouseenter 和 mouseleave 外,其他所有鼠标事件都会冒泡,也可以取消,但是取消鼠标事件将会影响浏览器的默认行为。 滚轮事件: 文本事件: 当用户在文档中输入文本时触发 键盘事件: 当用户在页面中使用键盘时触发 合成事件: 变动事件:当底层 DOM 结构发生变化时触发 常用的事件: 鼠标,键盘,滚轮,文本